0 REM ********************************* 1 REM * WHEEL OF FORTUNE * 2 REM * * 3 REM *BY:DEAN J. GAUDET * 4 REM *22 MAIDSTONE CRES. BRAMALEA * 5 REM *ONTARIO,CANADA * 6 REM *L6S 2Z5 : 791-8614 * 7 REM ********************************* 8 REM * YY/MM/DD * 9 REM *WRITTEN:1982/12/30 * 15 REM********************************* 16 REM* VARIABLES * 17 REM* NUMERIC * 18 REM*PN(X)=NUMBER PLAYER X BETS ON * 19 REM*PB(X)=AMOUNT BET ON PN(X) ^ * 20 REM*PM(X)=PLAYER X'S MONEY * 21 REM*PI(X)=PLAYER INDICATER 1= ON * 22 REM*QX(X)=HOME X FOR PLAYER X'S BOX* 23 REM*QY(X)=HOME Y FOR PLAYER X'S BOX* 24 REM*WN=WINNING NUMBER * 25 REM*PL=NUMBER OF PLAYERS PLAYING * 26 REM*I = INDEX FOR ARRAYS * 27 REM*DL=DELAY LOOP * 28 REM*ZX,ZY= CORDS. FOR SUB AT 50200 * 29 REM*ZL=MAXIMUM LEGNTH OF STRING FOR* 30 REM* INPUT AT 60000,THEN IT BECO-* 31 REM* MES Z1. * 32 REM*ZK=ASCII CODE OF ZK$(SEE BELOW)* 33 REM*ZT=TIMER OF CUSOR IN SUB.@60000* 34 REM*ZC=WHICH CARACTER FOR CURSOR 1 * 35 REM* OR 2 FOR SUB. AT 60000 * 36 REM*D= NUMBER OF TIMES TO SPIN WHL.* 37 REM*IN=VALUE OF IN$ (SEE BELOW) * 40 REM********************************* 41 REM* STRINGS * 42 REM*PN$(X)=PLAYER X'S NAME * 43 REM*N$(X)=NUMBER X IN THE WHEEL * 44 REM*IN$=INPUT FROM SUB. AT 60000 * 45 REM*ZD$= DELETE * 46 REM*DN$=DOWN$ FOR SUB. AT 50200 * 47 REM*RT$=RIGHT$ FOR SUB. AT 50200 * 48 REM*ZK$=KEY PRESSED IN SUB. AT60000* 98 REM********************************* 99 DIMN$(10),PN$(4),PM(4),PB(4),PN(4),QX(4),QY(4),PI(4) 100 FORI=1TO10:Z=I:GOSUB41000:NEXTI 110 DN$="" 120 RT$="" 130 DATA15,1,15,20,20,1,20,20 140 FORI=1TO4:READQY(I),QX(I):NEXTI 150 FORI=1TO4:PM(I)=100:NEXTI 160 FORI=1TO4:PB(I)=0:PN(I)=0:NEXTI 997 REM******************************** 998 REM*START OF MAIN PROGRAM * 999 REM******************************** 1000 PRINT"[147]";:POKE53280,0:POKE53281,0 1010 PRINT" [212]HE [215]HEEL OF [198]ORTUNE [194]Y [196]EAN [202]. [199]AUDET "; 1020 PRINT" [184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184] "; 1030 PRINT"[215]OULD YOU LIKE INSTRUCTIONS? [157][157][157]";:ZL=3:GOSUB60000 1040 IN$=LEFT$(IN$,1) 1050 IFIN$="N"THEN1320 1060 IFIN$<>"Y"THEN1030 1070 PRINT"[147] [212]HE [215]HEEL OF [198]ORTUNE [194]Y [196]EAN [202]. [199]AUDET "; 1080 PRINT" [184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184] "; 1090 PRINT" [212]HE OBJECT OF THIS GAME IS TO WIN AS" 1100 PRINT"MUCH AS YOU CAN BY BETTING ON THE WHEEL" 1110 PRINT". [198]ROM 1-4 PLAYERS CAN PLAY. [197]ACH PLAYER"; 1120 PRINT"STARTS OFF WITH $100 TO BET ON ON THE" 1130 PRINT"WHEEL . [217]OU WIN MONEY IF THE WHEEL" 1140 PRINT"STOPS ON THE NUMBER YOU CHOSE." 1150 PRINT" [201] WILL ASK YOU WHICH NUMBER YOU ARE" 1160 PRINT"BETTING ON, AND THEN [201] WILL ASK YOU HOW" 1170 PRINT"MUCH YOU ARE BETTING ON THAT NUMBER. [201]" 1190 PRINT"DO THIS FOR EVERY PLAYER THAT IS PLAYING"; 1220 PRINT" [212]HE MONEY YOU WIN DEPENDS ON THE NUMBER"; 1230 PRINT"YOU BET ON AND HOW MUCH YOU BET." 1240 ZC=0:GOSUB50000 1250 PRINT"[147] [212]HE [215]HEEL OF [198]ORTUNE [194]Y [196]EAN [202]. [199]AUDET "; 1260 PRINT" [184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184] "; 1270 PRINT" [201]F THE NUMBER YOU BET ON IS EVEN THEN" 1280 PRINT"YOU WILL WIN 1 AND 1/2 MORE THAN YOU[160]BET"; 1300 PRINT" [199]OOD [204]UCK...[217]OU'LL NEED IT!!!!" 1310 ZC=1:GOSUB50000 1317 REM****************************** 1318 REM*START OF GAME * 1319 REM****************************** 1320 PRINT"[147] [212]HE [215]HEEL OF [198]ORTUNE [194]Y [196]EAN [202]. [199]AUDET "; 1330 PRINT" [184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184] "; 1340 PRINT"[200]OW MANY PLAYERS (1-4)? ";:ZL=1:GOSUB60000 1350 IFIN$<"1"ORIN$>"4"THEN1340 1360 PL=VAL(IN$) 1370 FORI=1TOPL:PRINTCHR$(13); 1380 PRINT"[197]NTER PLAYER";I;"[157]'S NAME: ";:ZL=9:GOSUB60000 1385 IFLEN(IN$)<>9THENIN$=IN$+" ":GOTO1385 1390 PN$(I)=IN$:PI(I)=1:NEXTI:PRINT"[147]"; 1397 REM******************************* 1398 REM*INPUT #&HOW MUCH * 1399 REM******************************* 1400 GOSUB30000 1410 FORI=1TOPL:ZX=QX(I):ZY=QY(I):GOSUB50200 1415 IFPI(I)=0THEN1430 1420 PRINT"";PN$(I) 1425 GOSUB50200:PRINT"";PM(I) 1430 NEXTI 1440 FORI=1TOPL:IFPI(I)=0THEN1530 1450 ZX=10:ZY=8:GOSUB50200:PRINT"[208]LAYER";I;"[157][157][157]# : ";PN$(I) 1460 PRINTSPC(9);"[215]HICH NUMBER(1-20)? [157][157]";:ZL=2:GOSUB60000:IN=VAL(IN$) 1470 IFIN>20ORIN<1THEN1450 1480 PN(I)=IN 1490 PRINTCHR$(13);SPC(10);"AND HOW MUCH? [157][157][157][157][157]";:ZL=5:GOSUB60000 1500 IN=INT(VAL(IN$)) 1510 IFIN<1ORIN>PM(I)THENPRINT"[145][145]";CHR$(13);:GOTO1490 1520 PB(I)=IN 1530 NEXTI 1537 REM******************************* 1538 REM*PRINT OUT #&AMOUNT * 1539 REM******************************* 1540 FORI=1TOPL:IFPI(I)=0THEN1580 1550 ZX=QX(I):ZY=QY(I):GOSUB50200 1560 PRINT"";PB(I) 1570 GOSUB50200:PRINT"";PN(I) 1580 NEXTI 1587 REM******************************* 1588 REM*WHEEL ROLLING * 1589 REM******************************* 1590 GOSUB40000 1597 REM******************************* 1598 REM*PAY UP * 1599 REM******************************* 1600 WN=VAL(N$(6)) 1610 ZX=1:ZY=8:GOSUB50200:PRINT" " 1620 PRINT" " 1630 PRINT" " 1640 FORI=1TOPL 1650 IFPN(I)=WNTHEN1690 1660 PM(I)=PM(I)-PB(I) 1670 IFPM(I)<=0THEN20000 1680 NEXTI:GOTO1770 1687 REM******************************* 1688 REM* A WINNER * 1689 REM******************************* 1690 ZX=1:ZY=8:GOSUB50200 1700 IFINT(WN/2)=WN/2THENPB(I)=INT(PB(I)*1.5+.5) 1710 PRINT"[195]ONGRATULATIONS ";PN$(I) 1720 PRINT"[217]OU WON $";PB(I) 1730 PM(I)=PM(I)+PB(I) 1740 IFPM(I)>99999THENPM(I)=99999 1750 FORDL=1TO2000:NEXTDL 1760 GOTO1680 1770 FORI=1TOPL:PB(I)=0:PN(I)=0:NEXTI 1790 ZX=1:ZY=8:GOSUB50200:PRINT" " 1800 PRINT" " 1810 PRINT" " 1820 GOTO1400 19997 REM****************************** 19998 REM* PLAYER I IS OUT * 19999 REM****************************** 20000 IFPI(I)=0THEN1680 20005 PI(I)=0:PB(I)=0:PN(I)=0 20010 ZX=1:ZY=8:GOSUB50200 20020 PRINT" " 20030 PRINT" " 20050 ZX=1:ZY=8:GOSUB50200 20060 PRINT"[212]OO BAD ";PN$(I);CHR$(13);" YOU'RE OUT OF THE GAME"; 20070 FORDL=1TO2000:NEXTDL 20080 IFPI(1)=0ANDPI(2)=0ANDPI(3)=0ANDPI(4)=0THEN25000 20090 GOTO1680 24997 REM****************************** 24998 REM* EVERYONE IS OUT * 24999 REM****************************** 25000 PRINT"[147]"; 25010 PRINT" [212]HE [215]HEEL OF [198]ORTUNE [194]Y [196]EAN [202]. [199]AUDET "; 25020 PRINT" [184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184] "; 25030 PRINT" [212]OO BAD EVERYONE IS OUT." 25040 PRINT" [215]OULD YOU LIKE TO PLAY AGAIN? ";:ZL=3:GOSUB60000 25050 IN$=LEFT$(IN$,1) 25060 IFIN$="Y"THENRUN 25070 PRINTCHR$(13); 25080 PRINT" [207]KAY,BYE. [212]HANKS FOR PLAYING!"; 25090 GOTO63999 29997 REM****************************** 29998 REM*SUBROUTINE TO UPDATE SCREEN * 29999 REM****************************** 30000 PRINT""; 30010 PRINT" [212]HE [215]HEEL OF [198]ORTUNE [194]Y [196]EAN [202]. [199]AUDET "; 30015 PRINT" [184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184] "; 30020 PRINTTAB(5);"[172][162][162][162][162][162][162][162][162][162][162][162][162][187][172][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][187]" 30030 PRINTTAB(5);"[161][161][146]" 30040 PRINTTAB(5);"[188][146][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][190][146]" 30050 PRINT""; 30060 PRINT"[172][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][187][146]"; 30070 PRINT"[161][208]LAYER#1: [221][208]LAYER#2: [161][146]"; 30080 PRINT"[161][205]ONEY LEFT $ [221][205]ONEY LEFT $ [161][146]"; 30090 PRINT"[161][194]ETTING $ [221][194]ETTING $ [161][146]"; 30100 PRINT"[161][194]ETTING ON # [221][194]ETTING ON # [161][146]"; 30110 PRINT"[161][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][219][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][161][146]"; 30120 PRINT"[161][208]LAYER#3: [221][208]LAYER#4: [161][146]"; 30130 PRINT"[161][205]ONEY LEFT $ [221][205]ONEY LEFT $ [161][146]"; 30140 PRINT"[161][194]ETTING $ [221][194]ETTING $ [161][146]"; 30150 PRINT"[161][194]ETTING ON # [221][194]ETTING ON # [161][146]"; 30160 PRINT"[188][146][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][190][146]"; 30170 RETURN 39997 REM****************************** 39998 REM*SUBROUTINE FOR ROLLING WHEEL* 39999 REM****************************** 40000 FORD=0TOINT(RND(1)*10)+16 40005 FORI=1TO10 40010 ZX=3+I*3:ZY=6:GOSUB50200 40020 PRINTN$(I); 40025 IFD<15THEN40035 40030 FORI1=1TO(D-15)*5:NEXTI1 40035 NEXTI 40040 FORI=10TO2STEP-1:N$(I)=N$(I-1):NEXTI 40050 Z=1:GOSUB41000 40060 NEXTD 40070 RETURN 41000 T$=STR$(INT(RND(1)*20)+1):T$=MID$(T$,2,LEN(T$)-1) 41010 IFLEN(T$)<>2THENT$="0"+T$ 41020 N$(Z)=T$:RETURN 49997 REM****************************** 49998 REM*SUBROUTINE TO WAIT FOR RET. * 49999 REM****************************** 50000 PRINT"[208]RESS [210][197][212][213][210][206][146] TO ";:IFZC=0THENPRINT"CONTINUE.":GOTO50020 50010 PRINT"BEGIN." 50020 GETKY$:IFKY$<>CHR$(13)THEN50020 50030 RETURN 50197 REM****************************** 50198 REM*POSITION CURSOR AT ZX,ZY * 50199 REM****************************** 50200 PRINTLEFT$(DN$,ZY);LEFT$(RT$,ZX);:RETURN 59997 REM****************************** 59998 REM*SUBROUTINE FOR INPUT * 59999 REM****************************** 60000 Z1=ZL:ZL=0:ZD$=CHR$(20):ZT=TI+35:ZC=1:IN$="":POKE198,0 60010 GETZK$:IFZK$=""ANDZT>TITHEN60010 60020 IFZK$=""THENPRINTMID$("[166] ",ZC,1);"[157]";:ZC=3-ZC:ZT=TI+30:GOTO60010 60030 ZK=ASC(ZK$) 60040 IFZK=13THENPRINT" ";:RETURN 60050 IFZK=20ANDZLTHENIN$=LEFT$(IN$,ZL-1):ZL=ZL-1:PRINTZD$;:GOTO60010 60055 IFZL=Z1THEN60010 60060 IFZK<32OR(ZK>127ANDZK<160)THEN60010 60070 ZL=ZL+1:IN$=IN$+ZK$ 60080 PRINTZK$;ZD$;ZK$; 60100 GOTO60010 63995 REM****************************** 63996 REM*THIS LINE IS TO END THE PROG* 63997 REM*WITHOUT ERRORS WHEN CONT. * 63998 REM****************************** 63999 END